\chapter{Nastavení a použití robotického králíka \nab}

\section{Konfigurace robota}
\label{chap:app:config}

Výchozí konfigurace robota umožňovala připojení pouze k firemním serverům Violet, proto je pro připojení k jinému
serveru potřeba výchozí konfiguraci změnit.

\begin{enumerate}
  \item Zapojte  robota do elektřiny se stisknutým tlačítkem na jeho hlavě. Až se diody na králíkovi rozsvítí tmavě
  modře, můžete tlačítko pustit. Robot vytvoří nezabezpečenou {\wifi} síť \lstinline!NabaztagXX!, kde \lstinline!XX!
  jsou dvě poslední číslice sériového čísla robota.
  \item Připojte počítač k \wifi{} síti vytvořené robotem.
  \item V libobolném internetovém prohlížeči otevřete administraci robota, která je dostupná na adrese
  \url{192.168.0.1}.
  \item Zadejte jméno (SSID) {\wifi} sítě, ve které bude dostupný server --
  ovladač a ke které se musí připojit robot. Nakonfigurujte šifrování.
  \item Klikněte na \textit{Advanced configuration}.
  \item Nastavte další údaje pro připojení k síti, je-li třeba.
  \item Nastavit IP adresu a port serveru (není-li uveden port, předpokládá se standardní pro HTTP port $80$), viz
  obrázek \ref{img:nab_config_01}. Za adresu dopište \lstinline!/vl!.
  \begin{figure}[!h]
    \centering \includegraphics[scale=0.8]{images/nab_config.png}
    \caption{Nastavení adresy serveru, se kterým bude {\nab} komunikovat.}
  \label{img:nab_config_01}
  \end{figure}
  \item Klikněte na tlačítko \textit{Update and start}. {\nab} se připojí k určené
  síti a začne komunikovat se serverem.
\end{enumerate}

Během pokusu o připojení k \wifi{} síti a k serveru indikují diody na robotovi aktuálně probíhající činnost (tyto
informace můžou být nápomocné v případě řešení problémů s připojením):

\begin{enumerate}
  \item \textit{Všechny diody svítí oranžově}: čeká se na pokus o připojení k {\wifi}
  síti.
  \item Dioda \texttt{01} svítí zeleně, \texttt{02} bliká oranžově, ostatní
  svítí oranžově -- pokus o připojení k {\wifi} síti.
  \item Všechny tři diody na břiše králíka (\texttt{01}, \texttt{02},
  \texttt{03}) svítí zeleně, diody na nose (\texttt{00}) a na spodní straně (\texttt{04})
  blikají oranžově: připojení k {\wifi} síti bylo navázáno. Odesílá se dotaz na bootcode ({\reqbc}, viz kapitola
  \ref{sec:nab:protocol}).
  \item Všechny diody se na chvíli rozsvítí zeleně, potom králík naklopí uši a diody
  přestanou svítit -- stažení bootcodu se zdařilo, {\nab} komunikuje se
  serverem.
\end{enumerate}

\section{Konfigurace serveru}
\label{app:config}

Obsah složky \lstinline!bin/! z CD zkopírujte do lokálního adresáře. Dále vytvořte konfigurační
soubor \lstinline!volkapp.config.xml!. Chcete-li použít jeden ze souborů s výchozí konfigurací, před spuštěním aplikace
ho přejmenujte na \lstinline!volkapp.config.xml!.

\subsection*{Výchozí konfigurace}

Výchozí konfigurace serveru (dostupná na CD) umožňuje mj.:
\begin{itemize}
  \item ovládání robota pomocí jednoduchých textových příkazů,
  \item generování mluvené řeči v českém jazyce,
  \item stahování a čtení RSS zpráv.
\end{itemize}

Pro zprovoznění výchozí serveru s výchozí konfigurací je potřeba dále nainstalovat následující software:
\begin{itemize}
  \item Epos, verze 2.4.83 (\url{http://http://epos.ure.cas.cz/}). Aplikace nefunguje s verzí 2.5 a novějšími.
  \item SWI Prolog, verze 5.10 nebo novější (\url{http://www.swi-prolog.org/}). Po instalaci rozšířte
  systémovou proměnnou \lstinline!PATH! o cestu adresáře, ve kterém se nachází knihovna \lstinline!jpl.dll! nebo
  \lstinline!libjpl.so! (podle operačního systému).
  Tento krok je nutný, aby aplikace napsané v Javě mohly používat knihovnu JPL.
  \item Sound eXchange, verze 14.3.2 nebo novější (\url{http://sox.sourceforge.net/}).
\end{itemize}

Jsou-li v operačních systémech Windows (verze XP, Vista nebo 7) výše uvedené
programy nainstalovány ve výchozích umístěních, lze použít beze změn jeden ze dvou předem
připravených konfiguračních souborů:
\begin{sourcecodedesc}
 \item[volkapp.config.xml\_win32] pro 32-bitové systémy,
 \item[volkapp.config.xml\_win64] pro 64-bitové systémy.
\end{sourcecodedesc}

Soubor \lstinline!volkapp.config.xml_other! je určen pro jiné operační systémy nebo nestandardní instalace. Je třeba ho použít s následujícími změnami:
\begin{itemize}
  \item řetězec \lstinline!EPOS_PATH! nahradit plnou cestou spustitelného souboru \lstinline!epos! nebo
  \lstinline!epos.exe!
  \item řetězec \lstinline!SOX_PATH! nahradit plnou cestou spustitelného souboru \lstinline!sox! nebo
  \lstinline!sox.exe!
\end{itemize}

\subsection*{Vlastní konfigurace}

Můžete vytvořit i libovolnou vlastní konfiguraci kompatibilní se Spring Frameworkem.

\section{Konfigurace logování}
\label{app:b:logging}

Nastavení logování se vždy načítá ze souboru \lstinline!volkapp.log4j.txt! (za předpokladu, že tento soubor
existuje; viz \ref{subsection:logging}). Vytvořili jsme několik konfigurací logování, jsou popsané v tabulce
\ref{app:b:logging:predefined}. Uživatel může použít i vlastní konfigurační soubory.

\begin{table}[ht!]
\centering
\begin{tabular}{|m{5cm}|m{4cm}|m{4cm}|}
\hline
Název souboru & Standardní výstup & Soubor \lstinline!volkapp.log! \\ \hline
\lstinline!volkapp.log4j.txt! & \lstinline!WARN! & \lstinline!TRACE! \\ \hline
\lstinline!volkapp.log4j.txt_info! & \lstinline!WARN! & \lstinline!INFO! \\ \hline
\lstinline!volkapp.log4j.txt_chatty! & \lstinline!INFO! & \lstinline!TRACE! \\ \hline
\lstinline!volkapp.log4j.txt_all! & \lstinline!TRACE! & \lstinline!TRACE! \\ \hline
\end{tabular}
\caption{Předdefinované konfigurace logování. Všechny nastavují logování na standardní výstup a do souboru
\lstinline!volkapp.log!.}
\label{app:b:logging:predefined}
\end{table}

\section{Spuštění serveru}

Server lze v adresáři, kde se nachází soubor \lstinline!volkapp.jar!, spustit z příkazové řádky pomocí následujícího příkazu:

{\center\lstinline!java -classpath "volkapp.jar;lib/*" cz.cuni.mff.ufal.volkapp.Main!}

Nepoužívá-li konzola kódování UTF-8, je navíc třeba nastavit výchozí kódování znaků parametrem
\lstinline!"-Dfile.encoding=ENC"! (včetně uvozovek), kde \lstinline!ENC! představuje kódování konzoly (např.
\lstinline!cp852! pro česká Windows).

\section{Nahrávání zvuku}

Aby \nab{} začal zaznamenávat zvuk, je třeba cca $2s$ podržet tlačítko na jeho hlavě. Jakmile začne
pořízování záznamu, dioda na nose králíka se rozsvítí červeně. Nechte tlačítko stisknuté po celou dobu pořizování
záznamu.
